package com.example.zluserservice.dto.request;

import com.example.zluserservice.common.base.BaseReqDTO;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * @Author zhenliu（孙凌岳）
 * @Description AI-用户请求DTO
 * @Date 2025/6/17 8:28
 * @Version 1.0
 */
@Data
@NoArgsConstructor
@ApiModel(description = "用户请求DTO")
public class UserReqDTO extends BaseReqDTO {
    @ApiModelProperty(value = "用户账号")
    private String username;

    @ApiModelProperty(value = "是否启用（0:启用，1:禁用）")
    private String dataState;

    @ApiModelProperty(value = "用户邮箱")
    private String email;

    @ApiModelProperty(value = "用户昵称")
    private String nickName;


    @ApiModelProperty(value = "手机号码")
    private String mobile;

    @ApiModelProperty(value = "用户性别（0男 1女 2未知）")
    private String sex;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "选中节点")
    private String[] checkedIds;

    @ApiModelProperty(value = "查询用户：用户角色Ids")
    private Set<String> roleVoIds;

    @ApiModelProperty(value = "角色Id【当前】")
    private Long roleId;

    @Builder

    public UserReqDTO(String username, String dataState, String email, String nickName, String mobile, String sex, String remark, String[] checkedIds, Set<String> roleVoIds, Long roleId) {
        this.username = username;
        this.dataState = dataState;
        this.email = email;
        this.nickName = nickName;
        this.mobile = mobile;
        this.sex = sex;
        this.remark = remark;
        this.checkedIds = checkedIds;
        this.roleVoIds = roleVoIds;
        this.roleId = roleId;
    }
}
